package com.ssyc.goldstudyking;

import com.alibaba.android.arouter.launcher.ARouter;
import com.blankj.utilcode.util.Utils;
import com.iflytek.cloud.SpeechUtility;
import com.mob.MobSDK;
import com.netease.nim.uikit.BuildConfig;
import com.ssyc.common.base.BaseApplication;
import com.ssyc.common.base.SpKeys;
import com.ssyc.common.utils.SPUtil;

import cn.jpush.android.api.JPushInterface;

/**
 * Created by Administrator on 2018/3/26 0026.
 */

public class MyApplication extends BaseApplication {
    @Override
    public void onCreate() {
        super.onCreate();

//        DemoCache.setContext(this);

        // 初始化云信SDK
//        NIMClient.init(this, getLoginInfo(), NimSDKOptionConfig.getSDKOptions(this));

        // 初始化UIKit模块
//        if (inMainProcess(this)) {
//            initUIKit();
//            // 初始化消息提醒
//            NIMClient.toggleNotification(UserPreferences.getNotificationToggle());
//            // 云信sdk相关业务初始化
//            NIMInitManager.getInstance().init(true);
//        }

        //初始化路由
        if (BuildConfig.DEBUG) {
            //开启InstantRun之后，一定要在ARouter.init之前调用openDebug
            ARouter.openDebug();
            ARouter.openLog();
        }
        ARouter.init(this);


        //初始化工具类
        Utils.init(this);

        //初始化科大讯飞SDK
        SpeechUtility.createUtility(this, "appid=" + SpKeys.KDXF);

        //初始化ShareSdk
        MobSDK.init(this);

        //初始化极光推送
        JPushInterface.init(this);

        //设置极光的推送别名
        String registrationID = JPushInterface.getRegistrationID(this);

//        Sp中保存registrationID
        SPUtil.put(this, SpKeys.JPUSH_ID, registrationID);

        //初始化魔窗
//        MWConfiguration config = new MWConfiguration(this);
//        config.setLogEnable(true)       //打开魔窗Log信息
////      .setPageTrackWithFragment(true) //是否统计Fragment页面
////      .setCustomWebViewTitleBarOn()   //代码内定义webview标题
//                .setSharePlatform(MWConfiguration.ORIGINAL);
//        MagicWindowSDK.initSDK(config);

        //初始化内存检测
//        LeakCanary.install(this);
    }

//    /**
//     * 登录信息
//     *
//     * @return
//     */
//    private LoginInfo getLoginInfo() {
//
//        //云信的账号由APP的账号+用户角色组成
//        String account = SPUtil.getString(this, SpKeys.ACCOUNT) + SPUtil.getInt(this, SpKeys.ROLETYPE);
//
//        String token = SPUtil.getString(this, SpKeys.TOKEN2);
//
//        if (!TextUtils.isEmpty(account) && !TextUtils.isEmpty(token)) {
//
//            DemoCache.setAccount(account.toLowerCase());
//
//            return new LoginInfo(account, token);
//        } else {
//            return null;
//        }
//    }


//    /**
//     * 配置网易云信的UI库
//     */
//    private void initUIKit() {
//
//        // 初始化
//        NimUIKit.init(this, buildUIKitOptions());
//
//        // 设置地理位置提供者。如果需要发送地理位置消息，该参数必须提供。如果不需要，可以忽略。
//        NimUIKit.setLocationProvider(new NimDemoLocationProvider());
////
////        // IM 会话窗口的定制初始化。
////        SessionHelper.init();
////
////        // 聊天室聊天窗口的定制初始化。
////        ChatRoomSessionHelper.init();
////
////        // 通讯录列表定制初始化
////        ContactHelper.init();
////
////        // 添加自定义推送文案以及选项，请开发者在各端（Android、IOS、PC、Web）消息发送时保持一致，以免出现通知不一致的情况
////        NimUIKit.setCustomPushContentProvider(new DemoPushContentProvider());
////
//        NimUIKit.setOnlineStateContentProvider(new DemoOnlineStateContentProvider());
//    }
//
//    /**
//     * 设置缓存目录位置
//     *
//     * @return
//     */
//    private UIKitOptions buildUIKitOptions() {
//        UIKitOptions options = new UIKitOptions();
//        // 设置app图片/音频/日志等缓存目录
//        options.appCacheDir = NimSDKOptionConfig.getAppCacheDir(this) + "/app";
//        return options;
//    }
}
